package com.smartwebx.ha.dal.config;

import java.util.Set;

import com.google.common.collect.LinkedHashMultimap;
import com.google.common.collect.SetMultimap;

public class StatGroupThreadLocal {
	private static SetMultimap<Integer, String> areaStatGroupMap = LinkedHashMultimap
			.create();
	private static ThreadLocal<Set<String>> statGroups = new ThreadLocal<>();
	private static Boolean inWeb = false;

	public static void setStatGroups(Set<String> statGroup) {
		statGroups.set(statGroup);
	}

	public static Set<String> getStatGroups() {
		return statGroups.get();
	}

	public static void remove() {
		statGroups.remove();
	}

	public static void setInWeb(Boolean inWeb) {
		StatGroupThreadLocal.inWeb = inWeb;
	}

	public static Boolean getInWeb() {
		return StatGroupThreadLocal.inWeb;
	}

	public static Boolean isAreaStatGroupEmpty() {
		return areaStatGroupMap == null ? true : areaStatGroupMap.isEmpty();
	}

	public static void setAreaStatGroupMap(
			SetMultimap<Integer, String> areaStatGroupMap) {
		StatGroupThreadLocal.areaStatGroupMap = areaStatGroupMap;
	}

	public static Set<String> getAreaStatGroupByAreaId(Integer areaId) {
		return StatGroupThreadLocal.areaStatGroupMap.get(areaId);
	}
}
